Главная страница
    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.081 c
1-1099827525
alexa
2004-11-07 14:38
2004.11.21
ScrollBar в RichEdit


1-1099646621
Ш-К
2004-11-05 12:23
2004.11.21
Поиск элемента множества по его естественному порядку.


1-1099852890
aha
2004-11-07 21:41
2004.11.21
мне нужно поставить фильтр на messagebox , то есть


3-1098430766
Aser
2004-10-22 11:39
2004.11.21
Как выбрать все из таблицы 1 и все из таблицы 2


4-1097479261
Yot
2004-10-11 11:21
2004.11.21
РЕ-файл





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