Главная страница
    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.04 c
1-1099738462
Lamer v0.000001
2004-11-06 13:54
2004.11.21
TCombobox


6-1094808352
Alexander_PK
2004-09-10 13:25
2004.11.21
Подскажите как можно реализовать работу Multicasting


11-1082715252
BolikDimon
2004-04-23 14:14
2004.11.21
Не компилируется mirror.pas


14-1099201101
Stef
2004-10-31 08:38
2004.11.21
Форма SpeedButton а по битмапу


14-1099482873
VEG
2004-11-03 14:54
2004.11.21
Ограничение на количество окон в Windows





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский