Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
4-1096961128
Lera
2004-10-05 11:25
2004.11.21
Обмен между приложениями.


1-1099935857
White__
2004-11-08 20:44
2004.11.21
Шаблоны в Delphi7


1-1100006224
eugene32
2004-11-09 16:17
2004.11.21
Gde mojno nayti infu po rabote s Excel iz Delphi?


3-1098806092
GigoVich
2004-10-26 19:54
2004.11.21
TDBGrid + TQuery + FireBird (embeded)


1-1099364960
diabolik_krsk
2004-11-02 06:09
2004.11.21
Сохранение параметров текста TreeView