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

Подскажите, где можно почитать о битах на с++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Добавление графики в код http://www.cyberforum.ru/cpp-beginners/thread725448.html
Здравствуйте. Необходимо добавить ось координат и графики 2-х функций: y и y_an. Желательно с анимацией - зависимость y и y_an от времени. Помогите, пожалуйста! #include <iostream> #include <cmath> #include <stdlib.h> #include <GLUT/GLUT.h> #import "progonka.h" #define pi2 M_PI*M_PI
C++ Полярные координаты Прошу помощи. В интернете ничего стоящего по этой теме не нашёл. Задача собственно такова: Написать класс PolarCoordinates, представляющий собой класс координат точки на плоскости, выраженный в виде своих полярных координат (радиуса и угла в радианах). Конструктор класса должен принимать два целых числа (int), либо одно целое число, либо не принимать параметров (в таком случае его значение... http://www.cyberforum.ru/cpp-beginners/thread725437.html
C++ Найти количество фигур в матрице
Нужно найти количество фигур в матрице 6х8 фигуры. Фигуры состоят из 1, остальные ячейки 0. Вот пример как выглядит матрица сдесь 5 фигуры. 110011 100111 000000 001111 111100 000001 ...
C++ Сумма максимальных массивов
Помогите написать программу, которая бы находила сумму двух максимальных массивов и объясните каждую строчку, был бы очень благодарен. Спасибо.
C++ Ошибка: Левый операнд должен быть левосторонним значением http://www.cyberforum.ru/cpp-beginners/thread725416.html
Здравствуйте, не могу понять, в чем суть ошибки. Ругается на это и подобные выражения best.fio.f=mas.fio.f; Слышал, можно избежать ошибки, используя strcpy... #include<iostream> #include<string.h> #include<stdio.h> using namespace std; int main(){ struct fio_type{ char f,i,o;
C++ как в файл с динамическим массивом вставить 2 старших байта первого элемента в конец файла,а 2 младших байта в середину файла нужно в файл с динамическим массивом вставить 2 старших байта первого элемента в конец файла,а 2 младших байта в середину файла, но почему то все 4 байта он записывает в конец файла, не могу понять в чем ошибка #include <fstream> #include <iomanip> #include <stdio.h> #include <iostream> using namespace std; int row, col; int main(int argc, char* argv) { подробнее

Показать сообщение отдельно
Джек
5 / 5 / 0
Регистрация: 16.08.2011
Сообщений: 77
10.12.2012, 10:06  [ТС]     Подскажите, где можно почитать о битах на с++
Вот есть некий код много чего не понял. Расскажите что к чему пожалуйста. В нете по этому поводу инфы очень мало.

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
32
33
34
35
36
37
38
39
#include<iostream>
#include <conio.h>
using namespace std;
 
#include<iomanip>
 
using std::setw;
using std::cin;
 
void bit(int);
 
int main()
{
int x;
 
cout<<"vvedite сeloe x: ";
cin>>x;
 
bit(x);
getch();
 
return 0;
}
void bit(int x)
{
const int S=8*sizeof(int)-1;
const int M=1<<S;
 
cout<<setw(7)<<x<<" = ";
 
for(int i=1;i<=S+1;i++){
cout<<(x&M ? '1':'0');
x<<=1;
 
if(i%8==0)
cout<<' ';
}
cout<<endl;
}
Вот здесь все что не понял покажите что почему и для чего пожалуйста.
C++
1
const int S=8*sizeof(int)-1;
Это тип int включает в себя 4 байта, каждый байт содержит 8 бит поэтому множим на 8, а почему отнимаем 1? (ведь получаться 31 или нумерация идет с 0)

C++
1
const int M=1<<S;
Сдвигает биты первого операнда влево на количество битов, заданное вторым операндом.При выполнении операции сдвига правые освобождающиеся биты заполняются 0.
Это совсем не понял

C++
1
2
3
4
5
6
7
for(int i=1;i<=S+1;i++)
{
cout<<(x&M ? '1':'0');
x<<=1;
 
if(i%8==0)
cout<<' ';}
Что делает вот это (мб только то что цикл пробегает 32 символа) но для чего. Ну вообще что то этот фрагмент вообще туплю. Не понимаю помогите понять.
 
Текущее время: 00:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru