Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/22: Рейтинг темы: голосов - 22, средняя оценка - 4.68
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15

может кто расскажет про биты?

25.08.2011, 13:25. Показов 4995. Ответов 58
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вопрос
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.08.2011, 13:25
Ответы с готовыми решениями:

Time.h кто расскажет или покажет
Доброе время суток! имеем структуру struct Promo:tm //Создаем структуру! { std::string Client; //Название...

кто может обьяснить про что тут говорится
С помощью этого оператора & можно также выделять и устанавливать значения от- дельных битов. Представьте себе, что в написанной вами...

Задача про биты
Написать функцию, которая возвращает число, полученное из числа X,в котором все розряды, расположенные правее центральной позиции, заменены...

58
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
25.08.2011, 20:34
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от AzaKendler Посмотреть сообщение
talis, я имел ввиду следующее. если я присваиваю инту значение 1. все остальное место занимают нули?
0000000000000000001 (примерно так??). чтобы зарезервировать именно память под него - забито ли остальное место до 32 бит нулями?
мне кажется пора вам открыть страшную тайну
в этом мире существует не только с и с# но и еще другой язык - ASM
такие операции происходят на уровне команд процессора (транслированный асм в машинные команды)
x86 имеет машинное слово в 32 бита, присваивание ей происходит за одну команду mov, естественно в этом случае будет только еденица
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
25.08.2011, 20:34
судя по коду нет
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main()
{
    int x;
    std::cout << x;
    return 0;
}
x= 3506164;
y= 134514315
ого сколько ответов, пока код царапал
0
 Аватар для talis
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
25.08.2011, 20:38
alkagolik, а откуда появилось y= 134514315?

собственно, да, x не был инициализирован нулём
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 20:41  [ТС]
alex_x_x, ну зачем этот сарказм Алекс про мувы пуши леа и асм я обшее представление имею.
вопрос был в уточнении того как представлена единица в 32 битном инте в двоичной системе. асм оперирует регистрами и в каком регистре будет единичка столько и ноликов будет перед ней в двоичном представлении. разве нет?
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
25.08.2011, 20:49
Цитата Сообщение от talis Посмотреть сообщение
alkagolik, а откуда появилось y= 134514315?

собственно, да, x не был инициализирован нулём
это я к вот этому
Обычно компиляторы инициализируют int нулём
а игрек я просто второй раз добавил чтобы посмотреть не одинаковые ли будут значения, но забыл вписать на форум. Короче каждый раз разные, как уже говорилось всякий "мусор"... поэтому если надо случайные числа просто не надо инициализировать переменную . Это юмор конечно, а то кто всерьез подумает.
0
 Аватар для talis
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
25.08.2011, 21:02
Цитата Сообщение от AzaKendler Посмотреть сообщение
асм оперирует регистрами и в каком регистре будет единичка столько и ноликов будет перед ней в двоичном представлении. разве нет?
Не совсем. Я плохо знаком с синтаксисом Intel (парадокс, знаю :-) ), у AT&T есть, например, movl и movb. movl (move long) копирует 4 байта, когда movb (move byte) копирует один байт. Вот пример (для GCC):

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
 
int main( int argc, char ** argv )
{
    int x = 0xaaaaaaaa, y = 0xffffffff;
 
    printf( "movl test\n%x %x\n", x, y );
 
    asm( "movl %[x], %%eax\n"
         "movl %%eax, %[y]"
         : [y] "=g" (y)
         : [x] "g" (x)
       );
 
    printf( "%x %x\n", x, y );
 
    x = 0xdddddddd;
    y = 0x77777777;
 
    printf( "\nmovb test\n%x %x\n", x, y );
 
    asm( "movb %[x], %%eax\n"
         "movb %%eax, %[y]"
         : [y] "=g" (y)
         : [x] "g" (x)
       );
 
    printf( "%x %x\n", x, y );
 
    return 0;
}
Вывод
movl test
aaaaaaaa ffffffff
aaaaaaaa aaaaaaaa

movb test
dddddddd 77777777
dddddddd 777777dd


Так что количество копируемой информации определяется инструкцией.
0
Заблокирован
25.08.2011, 21:05
Цитата Сообщение от alkagolik Посмотреть сообщение
Обычно компиляторы инициализируют int нулём
объекты со static storage duration инициализируются конструкторами по умолчанию, то есть инт - 0. Про остальные ничего не сказано
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 21:18  [ТС]
talis, я все про те же яйца только в профиль. 32 битный инт. 1 это 0000000000001.
eax c 1 это? разве не те же 0000000000001. про двоичную систему и разрядность и единичку с ее представление в 32 разр.
0
 Аватар для talis
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
25.08.2011, 21:26
AzaKendler, да, 1 = 01 = 001 = 0001 = 00001... так же как в десятичной системе 15 = 015 = 0015 = 00015.
1
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 21:30  [ТС]
джмп.Это хумора немного
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
25.08.2011, 21:52
AzaKendler, чего же тебе про биты-то рассказать?
Целый положительный int, равный 1 в 32-битном режиме Intel - это 0...01, нулей 31 штука. Оно же и беззнаковый int такой же.
Целый отрицательный int, то есть -1, в 32-битном режиме - это 1...1, единиц 32 штуки.
Целый положительный дробный 1.0 в 32-битном виде - это 0011111110...0
Целый отрицательный дробный -1.0 в 32-битном виде - это 1011111110...0
2
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 22:12  [ТС]
ValeryLaptev, спасибо Валерий. хорошее инфо
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
25.08.2011, 22:17
AzaKendler, про представление целых погугли по словам "дополнительный код". А про дробные - IEEE-754 - это стандарт, который в настоящее время реализован ВО ВСЕХ компьютерах.
Кстати, еще надо помнить, что в памяти числа лежат по принципу: младший байт по младшему адресу. Если рисовать на бумажке, то получится по - арабски, справа-налево.
1
 Аватар для Olga_
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
25.08.2011, 22:19
AzaKendler, лучше книжки почитайте про представление чисел, понятие дополнительного кода, почему именно этот код и т.д. Не ленитесь в книжках "ковыряться", на форуме могут подкорректировать ваши знания, но это не заменит хороших книг.
1
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 22:28  [ТС]
Olga_, книжки это то что я читаю. правда электронные. но все же. те опытные парни и.. дамы, которые присутствуют на форуме, в процессе общения, пусть иногда агрессивного, приносят очень много пользы новичкам. таким как я
1
 Аватар для Olga_
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
25.08.2011, 22:37
Цитата Сообщение от AzaKendler Посмотреть сообщение
Olga_, книжки это то что я читаю. правда электронные. но все же. те опытные парни и.. дамы, которые присутствуют на форуме, в процессе общения, пусть иногда агрессивного, приносят очень много пользы новичкам. таким как я
Ну смотрите сами. Тогда форум вам в помощь
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 22:39  [ТС]
И Ольга, может я тему сформулировал неверно раз на такой совет нарвался? Ссуть вопроса в том что я решил для себя разобраться почему при работе с потоками ввода\вывода операции с чар в разы быстрее инта в том примере от гризлика. Поэтому пришлось пустится в такую переписку и задать вопросы. Параллельно много разной полезной инфы собрал. :cofee2:
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
25.08.2011, 22:43
AzaKendler, при работе с потоками - тут много разных причин.
Если поток текстовый, то чары пишутся-читаются без преобразования, а числа - с преобразованием. Там большая функция перевода работает. Она хоть и быстрая, но время занимает.
Если поток бинарный, то пофигу - одинаково быстро читаются-пишутся. Так как никаких преобразований не производится.
0
 Аватар для Olga_
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
25.08.2011, 22:43
Цитата Сообщение от AzaKendler Посмотреть сообщение
И Ольга, может я тему сформулировал неверно раз на такой совет нарвался? Ссуть вопроса в том что я решил для себя разобраться почему при работе с потоками ввода\вывода операции с чар в разы быстрее инта в том примере от гризлика. Поэтому пришлось пустится в такую переписку и задать вопросы. Параллельно много разной полезной инфы собрал. :cofee2:
Лучше будем считать, что я неверно поняла вопрос
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 22:48  [ТС]
ValeryLaptev, да там парни как раз писали про это а мне интересно было что за разница в представлениях в итоге получается между чар 1 и инт 1 от туда и пошло. Хочется спросить а что такое бинарный поток))? Но по совету Ольги полезу в гугл и накачаю книжек.
ну если честно то каюсь не дошел я еше до потоков. на контейнерах вишу. прочитал и теперь опять задания...не скоро еще потоки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.08.2011, 22:48

Задачка про биты
есть два числа по четыре байта 0000 0000 0000 0000 0000 0000 1001 0000 - первое число 0000 0000 0000 0000 0000 0000 0000 1100 -...

Ввести целое число A. Инвертировать все биты с 4 по 8, включая эти биты. Вывести результат
нужна помощь в битовых операциях.Ввести целое число A. Инвертировать все биты с 4 по 8, включая эти биты. Вывести результат.

... В четных байтах числа в двоичной системе переместить нулевые биты в старшие биты, а в нечетных байтах – в младшие ...
Доброго времени суток всем, столкнулся с проблемой по С++,требуется написать программу: которая получает 1)случайное целое типа int,...

Интересно, может кто расскажет
Приветствую форумчане, на днях у меня возник вопрос! Вот в интернете много пишут, что современные PC игры под windows создаются при помощи...

Кто сталкивался с фирмой DNS, и кто может сказать про эксплуатацию их ноутов сервис и прочее
Добрый день. Кто сталкивался с фирмой DNS, и кто может сказать, что хорошего или плохого про нее, прошу выысказаться? Хочу приобрести...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru