Другие языки программирования и технологии
Linux, bash: можно как-то работать с 16-ричными значениями?
Например, присвоить переменной не числовое или текстовое значение, а гексадецимальное, скажем, 6Fh, 75h, 67h, 67h, 61h
Странно, что в вопросе прозвучало числовое, текстовое, но не десятичное. Все величины в коде и текстовые и числовые, разница именно в основании (base). В баше позволительно задать любое основание от 2х до 64х
матчасть tldp.org/LDP/abs/html/index.html
echo $((36#zz)) $((2#10101010)) $((16#AF16)) $((53#1aA))
матчасть tldp.org/LDP/abs/html/index.html
в каком-то смысле можно, arithmetic expansion и printf в помощь
$ a=0x6F
$ echo $a
0x6F
$ a=$((a))
$ echo $a
111
$ a=$(printf "0x%X" $a)
$ echo $a
0x6F
но опять же, технически `а` всё это время является строкой, а не числомДа, в bash можно работать с 16-ричными значениями. Для этого можно использовать специальный синтаксис, который позволяет задавать значения в 16-ричной системе счисления.
Например, чтобы присвоить переменной значение 6Fh, 75h, 67h, 67h, 61h в 16-ричном формате, можно использовать следующий синтаксис:
var=$'\x6F\x75\x67\x67\x61'
Да, в bash можно работать с 16-ричными значениями. Для этого можно использовать специальный синтаксис, который позволяет задавать значения в 16-ричной системе счисления.
Например, чтобы присвоить переменной значение 6Fh, 75h, 67h, 67h, 61h в 16-ричном формате, можно использовать следующий синтаксис:
csharp
Copy code
var=$'\x6F\x75\x67\x67\x61'
В данном примере мы использовали специальную последовательность $'...', которая позволяет задавать значения в формате ASCII-кода. Внутри кавычек мы указали последовательность 16-ричных значений, которые соответствуют ASCII-кодам символов 'o', 'u', 'g', 'g', 'a'. Когда мы присваиваем эту последовательность переменной var, она становится строковым значением в формате ASCII.
Также можно использовать команду printf для работы с 16-ричными значениями. Например, чтобы вывести значение 6Fh на экран, можно использовать следующую команду:
printf "\x6F\n"
Эта команда преобразует 16-ричное значение в символ и выводит его на экран.
Например, чтобы присвоить переменной значение 6Fh, 75h, 67h, 67h, 61h в 16-ричном формате, можно использовать следующий синтаксис:
var=$'\x6F\x75\x67\x67\x61'
Да, в bash можно работать с 16-ричными значениями. Для этого можно использовать специальный синтаксис, который позволяет задавать значения в 16-ричной системе счисления.
Например, чтобы присвоить переменной значение 6Fh, 75h, 67h, 67h, 61h в 16-ричном формате, можно использовать следующий синтаксис:
csharp
Copy code
var=$'\x6F\x75\x67\x67\x61'
В данном примере мы использовали специальную последовательность $'...', которая позволяет задавать значения в формате ASCII-кода. Внутри кавычек мы указали последовательность 16-ричных значений, которые соответствуют ASCII-кодам символов 'o', 'u', 'g', 'g', 'a'. Когда мы присваиваем эту последовательность переменной var, она становится строковым значением в формате ASCII.
Также можно использовать команду printf для работы с 16-ричными значениями. Например, чтобы вывести значение 6Fh на экран, можно использовать следующую команду:
printf "\x6F\n"
Эта команда преобразует 16-ричное значение в символ и выводит его на экран.
Похожие вопросы
- Как написать программу для перевода числа с 8-ричной в 16-ричную систему? (язык Pascal или delphi в крайнем случае C++)
- кто умеет переводить с 16-ричной на десятичную и наоборот также на двочные каким образом
- Как переводить из 16-ричной системы счисления в восьмеричную?
- Максимальная система счисления 16 ричная? Если нет, то как дальше считают? С помощью каких символов.
- Во многих языках программирования есть функции перевода в 8(16) -ричное значение. В каких случаях это необходимо?
- Как в Git Bash вернуть веб-хостинг для локального репозитория на изначальный. Описание внутри
- Как перевести число 753,(46) из 8-ричной системы счисления в 6-ричную?
- Как перевести из 16-и ричной системы любое число в 2-ую, 8-ую и 10-ую системы счисления?
- Я "чайник" в мире Linux. Вот для чего используют программисты Linux?
- Я видел в вакансиях требование - умение работать с Linux. А что именно нужно знать в Linux?