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

¬ывести по байтам числа - C++

¬осстановить пароль –егистраци€
 
yurets17
1 / 1 / 0
–егистраци€: 07.10.2013
—ообщений: 170
10.12.2013, 21:42     ¬ывести по байтам числа #1
ѕодскажите, можно ли как нибудь, приспособить в мой код
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
#include <iostream>
#include <cstdio>
#include <iomanip>
#include <bitset>
using namespace std;
int main() {
    int i;float f;long int l;double d; char c; bool b;
    int *pi=&i;
    int *pf=&l;
    int *pl=&f;
    int *pd=&d;
    int *pc=&c;
    int *pb=&b;
    cout<<"¬ведите int ";cin>>i;
    cout<<"¬ведите long int ";cin>>l;
    cout<<"¬ведите float ";cin>>f;
    cout<<"¬ведите double ";cin>>d;
    cout<<"¬ведите char ";cin>>c;
    cout<<"¬ведите bool ";cin>>b;cout<<endl;
    cout<<setw(20)<<"ƒес€тичное"<<setw(19)<<"ШЎестнадцатиричное"<<setw(10)<<"јдрес"<<setw(15)<<"ѕобайтово"<<endl;
    cout<<endl;
    cout<<"int"<<dec<<setw(12)<<i<<hex<<setw(16)<<i<<setw(20)<<pi<<setw(12)<<bitset<8>(i)<<endl;
    cout<<"long int"<<dec<<setw(7)<<l<<hex<<setw(16)<<l<<setw(20)<<pl<<setw(12)<<bitset<8>(l)<<endl;
    cout<<"float"<<dec<<setw(10)<<f<<hex<<setw(16)<<f<<setw(20)<<pf<<setw(12)<<bitset<8>(f)<<endl;
    cout<<"double"<<dec<<setw(9)<<d<<hex<<setw(16)<<d<<setw(20)<<pd<<setw(12)<<bitset<8>(d)<<endl;
    cout<<"char"<<dec<<setw(11)<<c<<hex<<setw(16)<<c<<setw(20)<<(void*)&pc<<setw(12)<<bitset<8>(c)<<endl;
    cout<<"bool"<<dec<<setw(11)<<b<<hex<<setw(16)<<b<<setw(20)<<pb<<setw(12)<<bitset<8>(b)<<endl;
}
функцию дл€ вывода чисел по байтам такого типа
C++
1
2
3
4
   int n = 0xFF0A0B0D;
        unsigned char* p = (unsigned char*)&n;
        for (int i = 0; i < sizeof n; ++i)
            cout << (int)*(p + i) << ' ';
ƒобавлено через 1 минуту
¬ставить ее нужно на место bitset! ѕросто € забыл удалить bitset, он не нужен!
Similar
Ёксперт
41792 / 34177 / 6122
–егистраци€: 12.04.2006
—ообщений: 57,940
10.12.2013, 21:42     ¬ывести по байтам числа
ѕосмотрите здесь:

ƒаны два целых числа M но N. ¬ывести все целые числа из промежутка [M,n] C++
¬ывести в пор€дке убывани€ все целые числа, расположенные между A и B C++
C++ √де посмотреть, сколько прога занимает по времени, байтам и еще мож чего интересного?
подскажите: как вывести на экран числа от 0 до 20.... и еще одна: вывести все четные числа от 0 до 20... C++
C++ ƒано два числа ј и ¬ (ј<¬). ¬ывести в пор€дке увеличени€ все целые числа
ѕосле регистрации реклама в сообщени€х будет скрыта и будут доступны все возможности форума.
max_besheniy
25 / 25 / 1
–егистраци€: 21.11.2013
—ообщений: 208
10.12.2013, 22:08     ¬ывести по байтам числа #2
ѕриведите пример того, что нужно получить из входных данных. ¬ вашем коде вр€дли разберусь, но возможно свой напишу
yurets17
1 / 1 / 0
–егистраци€: 07.10.2013
—ообщений: 170
11.12.2013, 00:13  [“—]     ¬ывести по байтам числа #3
÷итата —ообщение от max_besheniy ѕосмотреть сообщение
ѕриведите пример того, что нужно получить из входных данных. ¬ вашем коде вр€дли разберусь, но возможно свой напишу
вот что получаетс€ в результате работы!¬ывести по байтам числа
и теперь мне нужно каждый из полученных адресов вывести по байтам, так как в примере
Dread1
7 / 7 / 2
–егистраци€: 16.10.2012
—ообщений: 61
11.12.2013, 03:08     ¬ывести по байтам числа #4
C++
1
#define checkbit(var,pos) ((var) & (1<<(pos)))
C++
1
2
3
4
5
6
void printbin(unsigned int ab)
    {
        for (int i=sizeof(ab)*8-1;i>=0;i--)
            if (checkbit(ab,i)) cout<<1;
                else cout<<0;
    }
ѕредлагаю такой вариант. ƒовольно таки простой. ¬ставл€ешь эту функцию к себе и вместо
C++
1
bitset<8>(i)
просто пишешь
C++
1
printbin(им€ переменной)
ƒобавлено через 2 минуты
если, конечно, всЄ верно пон€л. ‘ункци€ будет выводить твоЄ число в виде единиц и нулей
Yandex
ќбъ€влени€
11.12.2013, 03:08     ¬ывести по байтам числа
ќтвет —оздать тему
ќпции темы

“екущее врем€: 04:50. „асовой по€с GMT +3.
 ибер‘орум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
–ейтинг@Mail.ru