Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 73, средняя оценка - 4.74
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
#1

Старший бит - C++

10.07.2010, 23:45. Просмотров 9902. Ответов 6
Метки нет (Все метки)

Допустим число 4 представляю в двоичной системе счисления получается 0100.
В етом двоичном числе старший бит ет 3 бит?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2010, 23:45     Старший бит
Посмотрите здесь:

Бит 8, младший и старший бит (по книге) - C++
Добрый день. Вот читаю книгу, и не пойму элементарной на первый взгляд вещи. Как понять следующие предложения: 1) Если бит...

Удалить из каждого байта строки первый (старший) бит. - C++
Здравствуйте. Суть задачи в общем-то и отображена в названии задачи. Есть строка: unsigned char str; Необходимо в каждом...

переход с 32 бит на 64 бит - C++
Здравствуйте. Пробую на builder 10 перевести проект с 32 на 64 бит. Возникают странные ошибки: template <typename T> class DOT { ...

Низшие и старший разряды - C++
Название Размерность Тип A 5 вх B 5 вх C 1 вх ...

Считать старший байт числа - C++
Добрый день подскажите пожалуйста! Как в переменную записать число 3 числа 35, или 6 числа 69?

Поменять местами старший и младший полубайты - C++
Как поменять старший и младший полубайт беззнакового короткого целого местами? конечно же используя битовые операции.. напишите прогу...

N-значное число, вывести младший и старший разряд - C++
Составить программу. Дано n-значное число longint. Произвести с ним действия согласно варианту ( 17 ) Вывести только цифры самого...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
10.07.2010, 23:56     Старший бит #2
по такой логике у любого ненулевого числа старший бит 1ца
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
11.07.2010, 00:20     Старший бит #3
ElvenDragon, старший - это который самый левый.
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
11.07.2010, 00:55     Старший бит #4
ElvenDragon, начнем с того, какая разрядность системы? Так вот старший бит - это самый левый бит для данной разрядности(x16 - 16-ый, x64 - 64-ый). Если число со знаком, то для старший бит будет означать знак числа, 1 - отрицательное число, 0 - положительное число.
Считать старшим битом самую левую единицу - ошибочно, в противном случае в системе со знаком все числа будут или нулем, или отрицательными числами
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
11.07.2010, 05:10     Старший бит #5
Я всё-таки с CyBOSSeR соглашусь. Старший бит - это тот, что крайний слева. При чём независимо от разрядности, знаковости и ещё чего-нибудь. В моём представлении у компьютера логика лампочки - либо светит, либо нет. А инвертировать все биты, прибавлять к крайнему справа ещё один и называть такой вот фортель отрицательным числом - это людьми надумано. Значение -1 присвоенное переменной типа char машина запишет, как 0xff - то бишь все биты единичные, и старший, и младший, и те, что между ними...
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
11.07.2010, 09:34     Старший бит #6
easybudda, у нас есть x16 система. тип int. число 15 = 0000 0000 0000 1111.
Старший бит у нас какой? 0000 0000 0000 1111. Тот который выделен красным, или тот который выделен зеленым? Если красным, то тогда выражение "старший бит равен 1" говорит о том что у нас отрицательное число, причем это не всегда так.

да и кстати, почему в числе 15 старший байт(выделен синим) 0000 0000 0000 1111 может быть нулевым, а старший бит почему-то вдруг не может? Несправедливо, согласны?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2010, 11:44     Старший бит
Еще ссылки по теме:

В числе 15 поменять местами младший и старший байты - C++
Здравствуйте всем объясните пожалуйста как например в числе 15 поменять местами младший и старший байты (Я Си изучаю только два дня) ...

Бит реверс - C++
Вводится число в десятичной системе надо записать его в двоичной и перевернуть. Полученое число надо выписать в десятичной системе помогите...

Инверсия бит - C++
Добрый день. Есть unsigned short int x; Нужно инверсировать все биты в x, например, если x=1001001101 (589), то нужно чтобы...

Определить, что старший байт числа равен значению переменной с - C++
Вот такое задание.... Буду рада хотя бы алгоритму выполнения. Дана переменная char c. Напишите цикл для подсчета в заданном диапазоне...

Поменять местами старший и младший полубайт беззнакового короткого целого - C++
ребят, помогите Используя битовые операции, поменять местами старший и младший полубайт беззнакового короткого целого.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17536 / 5774 / 370
Регистрация: 30.03.2009
Сообщений: 15,889
Записей в блоге: 26
11.07.2010, 11:44     Старший бит #7
Цитата Сообщение от M128K145 Посмотреть сообщение
ElvenDragon, начнем с того, какая разрядность системы? Так вот старший бит - это самый левый бит для данной разрядности(x16 - 16-ый, x64 - 64-ый). Если число со знаком, то для старший бит будет означать знак числа, 1 - отрицательное число, 0 - положительное число.
Считать старшим битом самую левую единицу - ошибочно, в противном случае в системе со знаком все числа будут или нулем, или отрицательными числами
Именно так. Мы знаем, что считать можно до бесконечности, а потому при записи числа на листочке количество знаков может быть неограниченным. Понятие "старший" возникает только тогда, когда есть некоторое ограничение на количество записываемых символов (разрядов). Поэтому старший бит - это самый левый бит в записи N-битного числа, содержащей N разрядов (которые при необходимости слева добираются нулями). Просто глядя на число нельзя сказать, какой бит у него старший, нужно ещё знать, во сколько разрядов мы его хотим записать. Т.е. если мы число 128 записываем в переменную типа unsigned char (8 бит), то cтаршим битом будет единица, а если записываем в unsigned int (16 или 32 бита в зависимости от платформы), то старшим битом будет 0.

В случае знакового представления самый старший бит является знаковым (при условии что мы используем запись в дополнительном коде). И именно этот знаковый бит называют старшим (потому что больше нечего назвать этим термином). Вообще, старший бит - это крайний бит некоего абстрактного регистра (ограниченной длины) для хранения числа
Yandex
Объявления
11.07.2010, 11:44     Старший бит
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru