Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Вниз

Шестнадцатиричная система исчисления   Найти похожие ветки 

 
ssmaxx   (2004-11-03 12:47) [0]

День добрый. Не подскажете, как работать с шестнадцатиричными числами (типа 1А, 2F, и т.д.), а именно: как их просмотреть, если они сидят в переменной типа Integer. И есть ли какие-нибудь специальные процедуры их обработки.


 
Reindeer Moss Eater ©   (2004-11-03 12:50) [1]

IntToHex.

Только они там не сидят.
Кто ж их посадит?
Это же цифры!


 
Digitman ©   (2004-11-03 12:51) [2]


> если они сидят в переменной типа Integer


в переменной типа Integer никакие "шестнадцатиричные числа" не "сидят"... равно как и в переменной любого другого типа.

если же тебе нужно получить содержимое переменной типа Integer в шестнадцатеричноми представлении, то для этого есть ф-ция IntToHex()


 
Юрий Зотов ©   (2004-11-03 13:00) [3]

> ssmaxx   (03.11.04 12:47)

Понимаете, шестнадцатиричных ЧИСЕЛ не существует. И десятичных тоже. И никаких других ЧИСЕЛ тоже не существует.

А существуют шестнадцатиричные, десятичные и прочие СТРОКОВЫЕ представления чисел. То есть, СТРОКИ, а не ЧИСЛА.

Вот у Вас 20 пальцев. Это в DEC. А в HEX их будет 14. А в BIN -
100000100. Все это РАЗНЫЕ строки - но разве количество пальцев у Вас меняется, в какой бы системе его не записали?


 
TUser ©   (2004-11-03 13:05) [4]


> Все это РАЗНЫЕ строки - но разве количество пальцев у Вас
> меняется, в какой бы системе его не записали?

А в попугаях-то я гооораздо длиннее (С)


 
begin...end ©   (2004-11-03 13:06) [5]


> [3] Юрий Зотов ©   (03.11.04 13:00)


> А в BIN - 100000100.

Э-э... Разве это 20?

P.S. Не хотел бы я иметь столько пальцев... 8-)


 
TUser ©   (2004-11-03 13:08) [6]

Столько пальцев необходимо для управления клавиатурой будущего.


 
ssmaxx   (2004-11-03 13:10) [7]

Я наверно неправильно выразился. Что мне надо: у меня в текстовом файле есть строка:
1F
Следующей строкой я хочу поставить число, на единицу большее. Как это сделать, я не знаю (т.к. необходимо строковое представление).


 
Reindeer Moss Eater ©   (2004-11-03 13:11) [8]

Зашибись.
А это кто сказал:
если они сидят в переменной типа Integer.


 
TUser ©   (2004-11-03 13:17) [9]

val вполне нормально понимает hex-числа


 
begin...end ©   (2004-11-03 13:22) [10]


> [7] ssmaxx   (03.11.04 13:10)


var
 S1, S2: String;
begin
 S1 := "$1F";
 S2 := IntToHex(StrToIntDef(S1, 0) + 1, 2);
 ShowMessage(S2)
end.


 
TUser ©   (2004-11-03 13:28) [11]

А если хочешь ручками век сделать, тогда так

function EnLarge(S:string):string;
const L:array [0..15] of char =
     ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
var i:integer;
   c:char;
   f:boolean;
begin
  if S = "$" then begin
     result:="$1";
     Exit; // :((((
     end;
  S:=LowerCase(S);
  c:=S[length(S)];
  f:=true; i:=0;
  while f and (i < length(L)) do
     if L[i] <> c then
        inc (i)
        else f:=false;
  if f then
     raise Exception.Create("jopa");
  if i < length(L)-1 then
     S[length(S)]:=L[i+1]
     else
     S:=EnLarge(copy(S,1,length(S)-1))+"0";
  result:=S;
end;


 
ssmaxx   (2004-11-03 13:31) [12]


> Reindeer Moss Eater ©   (03.11.04 12:50) [1]
> IntToHex.


Спасибо!


 
ssmaxx   (2004-11-03 13:36) [13]


> S2 := IntToHex(StrToIntDef(S1, 0) + 1, 2);


БОЛЬШОЕ СПАСИБО!!!!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
6-1095128280
inkarik
2004-09-14 06:18
2004.11.21
Internet


9-1090094098
TNewb
2004-07-17 23:54
2004.11.21
Где можно найти команду которая делает игру и которой нужны кодер


14-1099522689
Сашок
2004-11-04 01:58
2004.11.21
Железо


1-1099826582
snake1977
2004-11-07 14:23
2004.11.21
Destructor


8-1092937508
bug008
2004-08-19 21:45
2004.11.21
класс для редактирования ID3v2 тегов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский