Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
mvsavkin
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 19
1

16-я система счисления

26.09.2011, 22:05. Просмотров 1859. Ответов 17
Метки нет (Все метки)

Delphi
1
2
3
4
5
6
for i:=0 to 511 do
    begin
 
      if i<446 then
        masW[i]:=$i
      else
в чем косяк?
массив объявлен типа word
 Комментарий модератора 
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку: "DELPHI".
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2011, 22:05
Ответы с готовыми решениями:

система счисления
Помагите пожалуйста составить программный код для перевода десятичного числа в...

Система счисления
Народ кто нибудь может объяснить как сделать следующие задания: Задание1....

Система счисления
Написать программу в Delphi, обучающую переводу чисел из десятичной системы...

Система счисления
Помогите составить две программы: 1) Сложение чисел в 11 системе счисления; ...

Система счисления
Помогите пожалуйста студенту, а то совсем запуталась. Я вроде прописала все,...

17
Mawrat
12833 / 5741 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
26.09.2011, 22:12 2
$i - такая конструкция недопустима. С помощью знака "$" задаются целочисленные константы в шестнадцатиричном представлении. i - Это переменная, а не константа.
0
AndyZorg
Заблокирован
26.09.2011, 22:16 3
Имхо так только константы можно описать, типа $10000 или $25. Что Вам пытаетесь сделать таким способом?
если я напишу так a := 10; или a := $a; В любом случае у меня будет а = 10

Добавлено через 48 секунд

Не по теме:

Mawrat, :)

0
mvsavkin
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 19
26.09.2011, 22:30  [ТС] 4
строке массива присвоть число в 16-й системе как это сделать тогда

Добавлено через 51 секунду
Mawrat, а как тогда сделать это чтобы можно было присвоить

Добавлено через 58 секунд
AndyZorg, я пытаюсь в массив присвоить числа в 16-й системе
0
Mawrat
12833 / 5741 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
26.09.2011, 22:33 5
Цитата Сообщение от mvsavkin Посмотреть сообщение
строке массива присвоть число в 16-й системе как это сделать тогда
Само по себе число не принадлежит ни одной из систем счисления. Число - это абстрактное понятие. Представление числа в какой-либо системе счисления - это строка, а не число.
Цитата Сообщение от AndyZorg Посмотреть сообщение
Не по теме:
Mawrat,
Я немного раньше ответил.
---
mvsavkin, а как задание сформулировано?
0
mvsavkin
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 19
26.09.2011, 22:44  [ТС] 6
Да я понимаю все это,
Но в дальнейшем мне удобнее с 16-й системой работать, и поэтому надо массив записать 16-ные числа, ВОПРОС как это сделать? Что у меня не так?

Добавлено через 6 минут
masW[i]:=$i

В этой строке ошибка: Missing operator or semicolon. Что я не так делаю
0
Mawrat
12833 / 5741 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
26.09.2011, 22:44 7
Нет чисел шестнадцатиричных или десятичных или двоичных. Числа бывают: целые, натуральные, вещественные. Когда говорят "шестнадцатиричное число", то на самом деле это немного не верно, надо говорить: "шестнадцатиричная запись числа".
Т. е., если надо в массиве хранить именно шестнадцатиричные представления чисел - значит массив должен в качестве элементов содержать строки, а не числа. Либо шестнадцатиричную запись можно представить в виде набора чисел, каждое из которых будет представлять шестнадцатиричный разряд.
mvsavkin, подробней расскажи, что требуется сделать. - Дальше будем думать.
0
mvsavkin
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 19
26.09.2011, 22:49  [ТС] 8
В общем имеется 16 разрядов(2 байта)
Есть массив типа Word(как раз размерность 2 байта)
грубо говоря 1111111111111111
как masW:=$FFFF
вот что должно у меня к примеру получится
0
AndyZorg
Заблокирован
26.09.2011, 22:54 9
Я это понял так: есть массив M - размером 16 элементов. Каждый элемент - это 0 или 1. Преобразовать массив в число и вывести его шестнадцатиричное представление. Т.е. в массиве как раз дано двоичное представление числа. Так я понял?
0
Mawrat
12833 / 5741 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
26.09.2011, 22:55 10
Может требуется такой код?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.Button1Click(Sender: TObject);
var
  Arr : array of Word;
  i, Len : Integer;
  S : String;
begin
  Len := 32;
  SetLength(Arr, Len);
  for i := 0 to Len - 1 do begin
    Arr[i] := i;
  end;
 
  //Распечатка элементов массива в шестнадцатиричном виде в Мемо:
  for i := 0 to Len - 1 do begin
    if i > 0 then S := S + ', ';
    S := S + IntToHex(Arr[i], 4);
  end;
  Memo1.Clear;
  Memo1.Lines.Add('Массив:');
  Memo1.Lines.Add(S);
end;
0
mvsavkin
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 19
26.09.2011, 23:00  [ТС] 11
Спасибо большое что пытаетесь помочь.
Но мне не перевод из одной в другую надо.
мне нужно в массив типа Word (511 элементов) записать числа в 16-м представлении
т.е. mas[1]=$1
-------
mas[10]:=$A
и в таком духе
0
Mawrat
12833 / 5741 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
26.09.2011, 23:08 12
Тогда заполняй массив так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
var
  Arr : array of Word;
  i, Len : Integer;
  S : String;
begin
  Len := 32;
  SetLength(Arr, Len);
  for i := 0 to Len - 1 do begin
    Arr[i] := i;
  end;
...
mvsavkin, не подумай, что я не понимаю, что ты хочешь "записать числа в массив в шестнадцатиричном виде". Но это не получится. Потому что, я уже упоминал об этом - числа сами по себе не представлены ни в какой из систем счисления. А в памяти компьютера числа представляются в двоичной форме. Если нужна шестнадцатиричная форма - то это либо в виде строки надо делать, либо в виде массива, элементами которого являются отдельные числа, представляющие разряды числа.
---
Например, в виде строк:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.Button1Click(Sender: TObject);
var
  Arr : array of String;
  i, Len : Integer;
  S : String;
begin
  Len := 32;
  SetLength(Arr, Len);
  for i := 0 to Len - 1 do begin
    Arr[i] := IntToHex(i, 4);
  end;
 
  //Распечатка элементов массива в Мемо:
  for i := 0 to Len - 1 do begin
    if i > 0 then S := S + ', ';
    S := S + Arr[i];
  end;
  Memo1.Clear;
  Memo1.Lines.Add('Массив:');
  Memo1.Lines.Add(S);
end;
0
mvsavkin
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 19
26.09.2011, 23:11  [ТС] 13
Спасибо что пытаетесь помочь...
Мне в дальнейшем работать с 16-й ситемой надо а не переводить и т.д.

Добавлено через 23 секунды
я понял

Добавлено через 29 секунд
Спасибо что наставили на путь истинный

Добавлено через 1 минуту
немного не по теме... ты с БД работаешь?
0
AndyZorg
Заблокирован
26.09.2011, 23:13 14
Цитата Сообщение от mvsavkin Посмотреть сообщение
Спасибо что пытаетесь помочь...
Мне в дальнейшем работать с 16-й ситемой надо а не переводить и т.д.
Добавлено через 23 секунды
я понял
Судя по всему не поняли... Что значит работать? Что значит переводить? В понятие "работать" что у Вас конкретно понимается?

Добавлено через 50 секунд
90% людей, пишущих на Дельфи работают с БД
0
mvsavkin
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 19
26.09.2011, 23:18  [ТС] 15
Работать имелось ввиду выполнять операции.
Все равно большое спасибо.

Подскажите книгу где почитать про нормализацию, Create
0
AndyZorg
Заблокирован
26.09.2011, 23:21 16
http://ru.wikipedia.org/wiki/%D0%9D%...80%D0%BC%D0%B0
Ну и просто наберите в поисковике "Нормализация баз данных" - читать не перечитать...
0
mvsavkin
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 19
26.09.2011, 23:24  [ТС] 17
Большое спасибо))
Давно на DElphi?
0
AndyZorg
Заблокирован
27.09.2011, 00:10 18
C 1995. С самой первой версии
0
27.09.2011, 00:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2011, 00:10

система счисления
привет! нужна помощь... нужна программа для перевода дробных чисел из двоичной...

двоичная система счисления
всем привет. такое задание: программа для перевода из двоичной системы в...

Троичная система счисления
Требуется сложить натуральные числа А и В, заданные в троичной системе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru