#include <iostream>
using namespace std;
int main()
{
int number=0x12345678;
char *chArr=(char*)&number;
for(unsigned i=0;i<4;i++)
{
cout<<"offset="<<i<<" value="<<hex<<(int)chArr[i]<<endl;
}
system("PAUSE");
return 0;
}
offset=0 value=78
offset=1 value=56
offset=2 value=34
offset=3 value=12
#include <iostream>
#include <exception>
using namespace std;
int BitValue(int value,int bit)
{
if(bit<0||bit>31)throw exception("BitValue:Argument "bit" out of range(0..31)");
else
{
unsigned int mask=1<<bit;
return value&mask?1:0;
}
}
int main()
{
int number=0x12345678;
cout.setf(ios::showbase);
cout<<"number="<<hex<<number<<endl;
cout.unsetf(ios::showbase);
for(unsigned i=0;i<32;i++)
{
cout<<"bit="<<dec<<i<<" value="<<BitValue(number,i)<<endl;
}
system("PAUSE");
return 0;
}
number=0x12345678
bit=0 value=0
bit=1 value=0
bit=2 value=0
bit=3 value=1
bit=4 value=1
bit=5 value=1
bit=6 value=1
bit=7 value=0
bit=8 value=0
bit=9 value=1
bit=10 value=1
bit=11 value=0
bit=12 value=1
bit=13 value=0
bit=14 value=1
bit=15 value=0
bit=16 value=0
bit=17 value=0
bit=18 value=1
bit=19 value=0
bit=20 value=1
bit=21 value=1
bit=22 value=0
bit=23 value=0
bit=24 value=0
bit=25 value=1
bit=26 value=0
bit=27 value=0
bit=28 value=1
bit=29 value=0
bit=30 value=0
bit=31 value=0
#include <iostream>
using namespace std;
int main()
{
// Целое число
int number=0x12345678;
// Получаем адрес number и приводим его к указателю на unsigned char
unsigned char *chArr=(unsigned char*)&number;
cout.setf(ios::showbase);
// Выводим number
cout<<"number="<<hex<<number<<endl;
// Выводим ардес сохраненный в chArr(фактически адрес number)
cout<<"Adress="<<hex<<(int)chArr<<endl;
// Пишем в chArr(фактически в number)
chArr[0]=0xff;
chArr[1]=0xaa;
chArr[2]=0x66;
chArr[3]=0x11;
// Выводим number после этого
cout<<"number="<<hex<<number<<endl;
system("PAUSE");
return 0;
}
number=0x12345678
Adress=0x2efb10
number=0x1166aaff
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.