Главная страница
    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.128 c
1-1099460074
Виталька
2004-11-03 08:34
2004.11.21
Работа с объектами


14-1099707837
Fktrc
2004-11-06 05:23
2004.11.21
Консольные утилиты


1-1099854492
snake1977
2004-11-07 22:08
2004.11.21
Смешивание цвета


4-1097299873
CoolMan
2004-10-09 09:31
2004.11.21
скрытый запуск с проверками


6-1095163887
teapot
2004-09-14 16:11
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский