
Вопрос задан 29.07.2023 в 10:43.
Предмет Информатика.
Спрашивает Кузнецов Даниил.
Составить процедуру вычисления значения целого числа по заданной строке символов являющейся записью
этого числа в шестнадцатиричной системе счисления. Через процедуру или функцию

Ответы на вопрос

Отвечает Халикова Алсу.
PascalABC.NET 3.4.0, сборка 1670 от 23.05.2018
Внимание! Если программа не работает, обновите версию!
function HexToDec(n:string):string;
begin
var s:='0123456789ABCDEF';
var (p,pa):=(0,1);
foreach var c in n.Reverse do begin
p+=pa*(Pos(c,s)-1);
pa*=16
end;
Result:=p.ToString
end;
begin
var s:=ReadlnString('Введите 16-ричное число:');
HexToDec(s).Println
end.
Внимание! Если программа не работает, обновите версию!
function HexToDec(n:string):string;
begin
var s:='0123456789ABCDEF';
var (p,pa):=(0,1);
foreach var c in n.Reverse do begin
p+=pa*(Pos(c,s)-1);
pa*=16
end;
Result:=p.ToString
end;
begin
var s:=ReadlnString('Введите 16-ричное число:');
HexToDec(s).Println
end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для вычисления значения целого числа по заданной строке символов, являющейся записью числа в шестнадцатеричной системе счисления, можно использовать следующую процедуру (например, на языке Python):
pythondef hex_to_int(hex_string):
hex_string = hex_string.upper() # Переводим все символы в верхний регистр
hex_digits = "0123456789ABCDEF"
decimal_value = 0
for char in hex_string:
if char in hex_digits:
decimal_value = decimal_value * 16 + hex_digits.index(char)
else:
raise ValueError("Некорректный символ в строке")
return decimal_value
# Пример использования:
hex_string = "1A3F"
result = hex_to_int(hex_string)
print(result) # Выведет: 6719
Эта функция hex_to_int
принимает строку hex_string
, представляющую число в шестнадцатеричной системе счисления. Затем она преобразует строку в верхний регистр (на всякий случай, чтобы избежать ошибок) и затем перебирает каждый символ. Если символ является допустимой цифрой в шестнадцатеричной системе (от '0' до '9' и от 'A' до 'F'), то он преобразуется в соответствующее десятичное значение и добавляется к общему результату. В противном случае, если встречается недопустимый символ, будет вызвано исключение ValueError
.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili