0x01 что это за число
Перейти к содержимому

0x01 что это за число

  • автор:

логические операции

в разных исходниках встретил операции такого вида
variable & 0x01
и
variable & 0x80
сколько не думал, вообще ничего не могу придумать, что это может быть
я знаком с логикой, вопрос не о том, что это за операции, вопрос — что такое 0x01 и 0x80?
через 0x записываются шестнадцатиричные числа, тогда чему равно 0x80? значит это что-то другое
может кто-нибудь знает что это за числа?

#1
12:20, 17 мая 2010

Красная Звезда
> сколько не думал, вообще ничего не могу придумать, что это может быть

Это т.н. операция «мАскирования» (от слова маска) битов переменной. в тех местах, где в маске установлены единичные биты, в результате логической операции — значения битов variable будут сохранены (в независимости от того, что там было), остальные биты, там где в маске нулевые биты — будут принудительно обнулены.

> вопрос — что такое 0x01 и 0x80?

Это и есть те самые маски. соответствено

0x01 в битовом представлении это 00000001
0x80 соответственно — 10000000

Соответственно эти маски — первая позволяет обнулить все биты кроме нулевого, а вторая все биты кроме старшего седьмого (если речь идет о числах в диапазоне 0x00 — 0xFF)

#2
12:23, 17 мая 2010

школьники жгут)
сейчас не модно двоичную систему изучать?)
Это побитовое И. твои примеры просто устанавливают 0-вой и 15-й биты в variable.

#3
12:26, 17 мая 2010

Galant
> Это побитовое И. твои примеры просто устанавливают 0-вой и 15-й биты в
> variable.

мммм. еще и школотой обзывает. а не знает, что установка битов — это операция лог. ИЛИ, а вот лог. И — это как раз сброс.

#4
12:38, 17 мая 2010

ну попутал чуток от смеха)) но как написано в правилах демагога «это каждый дурак знает»))

#5
12:41, 17 мая 2010

Galant
> но как написано в правилах демагога «это каждый дурак знает»))

Если о школах речь, то информатику везде по разному преподают. где-то алгебру-логику изучают, а где-то учаться из ворда мейлы отправлять да домики с солнышками в пеинте рисовать. так что ничего постыдного в вопросе нет, — начинающим вполне простительно.

#6
12:47, 17 мая 2010

да никто никого не стыдил))
я даже могу похвалить, что человек читает исходники)) но теорию надо подтянуть всё-таки)

Красная Звезда
чему вас в школе учат?

#7
12:50, 17 мая 2010

Красная Звезда
> логические операции
это не логические операции, а битовые

#8
13:01, 17 мая 2010

ashujon
> это не логические операции, а битовые

Для каждого конкретного бита в числе — операция будет таки логической.

#9
13:07, 17 мая 2010

oistalker
термин «битовые операции» включают в себя «побитовые логические операции» — то что ты назвал, но они не равны «логическим операциям»

логические
&& ! || != ==
битовые
> ~ & | ^
побитовые логические
~ & | ^

#10
13:13, 17 мая 2010

ashujon
> то что ты назвал, но они не равны «логическим операциям»

В Булевой алгебре, а в данном топике речь только о ней, — других логических нет.

#11
14:02, 17 мая 2010

Cyclone
> & это не сброс а проверка состояния нужного бита
> сброс выглядел бы как &~

Это зависит от взгляда на маску. а сброс или проверка, — это зависит от того, для чего конкретно выполняется операция.

#12
14:05, 17 мая 2010

Ты путаешь работу с булевыми и числовыми типами в ЯВУ и собственно саму по себе алгебру логику. Хинт, — в процессоре (и языке ассемблера) нет никаких &&, ||, &~ и проч.

#13
14:12, 17 мая 2010

oistalker,логические операции для логических типов, битовые операции для численных типов, причем здесь язык ассемблера, процессор, и тем более ЯВА? это вопрос терминологии

#14
14:16, 17 мая 2010

>логические операции для булевых типов, битовые операции для численных типов,
> причем здесь язык ассемблера, процессор

Не знает процессор ни про какие типы. и при чем он из-за того, что выполняет машинный код, в который преобразует твоё творчество с типами компилятор

> и тем более ЯВА?

ЯВУ — Язык Высокого Уровня

0xc0,0xa8,0x00,0x01 Как разобраться в этом коде?

Author24 — интернет-сервис помощи студентам

0xc0,0xa8,0x00,0x01 -некий код.. . который копируется в память. Где можно почитать информацию, чтоб разобраться в этом?

Заранее благодарен за ответ!

Добавлено через 21 минуту
Дополнение.
1. Это часть кода.
2. Это цифры IP.
3. Где можно увидеть «таблицу кодов» чтобы иметь возможность менять цифры

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как расшифровать в этом коде пароль к архиву?
Что это за код? И как расшифровать в этом коде пароль к архиву? вот RC4(**********) минус.

не могу разобраться в этом коде
package easybudda.backgroundimage; import java.awt.*; import javax.swing.*; public class.

Как в этом разобраться?
Доброго времени суток! Пытаюсь сделать базу данных для облегчения работы и столкнулся вот с такой.

Native x86

Эксперт Hardware

5534 / 3288 / 939
Регистрация: 13.02.2013
Сообщений: 10,472
0xc0,0xa8,0x00,0x01 — это 192.168.0.1, обычный локальный IP-адрес в шеснадцатиричном виде.
Регистрация: 06.12.2012
Сообщений: 4

Таблицу можешь сам построить.
Эти цифры — шестнадцатиричный вид числа 192.168.0.1, представленного в десятичной системе. Почитай как переводить из одной системы счисления в другую. Ну или воспользуйся калькулятором на компьютере. Перейди в инженерный режим, поставь радиобаттон напротив HEX (16-ая система) и пиши в строке нужное число (C0, например). Затем перемени радиобаттон на значение DEC — и введенное тобой число поменяется на привычную систему счисления (увидишь число 192)

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как пронумеровать текст в этом коде?
Очередной вопрос от полного профана в C++ Для проверки создал цикл while do, решил пронумеровать.

Как работает сравнение в этом коде?
Объясните пожалуйста точно и правильно как происходит сравнение в этом коде: MemoryStream ms.

Как дописать цикл в этом коде?
#include <graphics.h> #include <iostream.h> #include <conio.h> #include <math.h> #include.

Или воспользуйтесь поиском по форуму:

Что значат эти вещи: 0x01, 071 в языке Си?

Что понимается под такой записью, когда это полезно использовать?

  • Вопрос задан более трёх лет назад
  • 270 просмотров

Комментировать

Решения вопроса 0

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

VrencchBug @VrencchBug

«0x» означает, что 01 — значение не в дес., а в 16-ричной системе счисления.
Полезно в основном тогда, когда берете это значение из документации, в которой оно больше распространено 16-ричное, чем 10-чное. Обычно в документации это именно так: все константы 16-ричные.

Ответ написан более трёх лет назад

0xc0,0xa8,0x00,0x01 Как разобраться в этом коде?

0xc0,0xa8,0x00,0x01 -некий код.. . который копируется в память. Где можно почитать информацию чтоб разобраться в этом?

Дополнен 9 лет назад

Дополнение.
1. Это часть кода.
2. Это цифры IP.
3. Где можно увидеть «таблицу кодов» чтобы иметь возможность менять цифры.

Лучший ответ

Вы привели четыре байта, записанных в шестнадцатиричном виде.
Без контекста — откуда вы их получили/взяли.
Если это — код ошибки — обратитесь к разработчику программы
В противном случае — это просто 4 числа, в десятичном виде, выглядящих как
192,168,0,1
Если имеется в виду четырехбайтовая переменная, то это
0x0100a8c0 или 0xc0a80001 (смотря откуда копируется данный «код», если из файла — то задом наперед)
Если по 2 байта.. . ну Вы поняли.

Дима СамозвонУченик (180) 9 лет назад
Это из файла.

ltester ltester Мудрец (18128) Если прочитанное — одно значение, например int, то Вы прочитали десятичное число 16820416 Если это чтение двух переменных по 2 байта, то Вы прочитали 2 числа 256 и 43200 Если по 1 байту, то прочли 192,168,0,1

Остальные ответы
Это машинный код

Что значит «разобраться»? Обычно, такой IP адрес используется в прошивке модемов/роутеров
Программирование?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *