Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > printf %x %X


Автор: Step 28.2.2003, 18:35
а каким параметров получить двоичное представление, в хелпе не нашел

Автор: pish_r 28.2.2003, 19:01
Numerics
d Integer Signed decimal integer
i Integer Signed decimal integer
o Integer Unsigned octal integer
u Integer Unsigned decimal integer
x Integer Unsigned hexadecimal int (with a, b, c, d, e, f)
X Integer Unsigned hexadecimal int (with A, B, C, D, E, F)
f Floating point Signed value of the form [-]dddd.dddd.
e Floating point Signed value of the form [-]d.dddd or e[+/-]ddd
g Floating point Signed value in either e or f form, based on
given value and precision. Trailing zeros and
the decimal point are printed if necessary.
E Floating point Same as e; with E for exponent.
G Floating point Same as g; with E for exponent if e format used

Characters

c Character Single character
s String pointer Prints characters until a null-terminator is
pressed or precision is reached
% None Prints the % character

Pointers

n Pointer to int Stores (in the location pointed to by the input
argument) a count of the chars written so far.
p Pointer Prints the input argument as a pointer; format
depends on which memory model was used. It will
be either XXXX:YYYY or YYYY (offset only).

У меня с инглишем туго smile.gif Переводить не стал. Здается мне, тебе легче будет пользоваться либой iostream. Там проще. И в памати она форматнуть позволит.

Автор: Step 28.2.2003, 19:10
Цитата
У меня с инглишем туго
у меня тоже не очень, но я понял что в бинарный не переводит,
Цитата
либой iostream
подробнее можно

Автор: pish_r 28.2.2003, 19:48
Код

#include "stdafx.h"
#include "iostream.h"
#include "strstrea.h"

void main()
{
int i=56;
cout << dec << i << endl; // В десят
cout << hex << i << endl; // 16-ричной
cout << bin << i << endl;  // 2-чной
                 
}


Это манипуляторы.

Автор: Step 28.2.2003, 20:02
pish_r сенкс

Автор: pish_r 28.2.2003, 20:13
Я тут тебе лажу подсказал...По енерции... Память подвела. Манипулятора bin тоже нет smile.gif Прийдется фунцию писать smile.gif

Автор: Step 28.2.2003, 20:17
Цитата
Я тут тебе лажу подсказал...По енерции... Память подвела. Манипулятора bin тоже нет  Прийдется фунцию писать 
придется

Автор: brb 28.2.2003, 22:29
А хекс(шестнадцтиричка) чем не подходит? Если бинарка до слез нужна ее все равно из хекса делать.

Автор: Step 1.3.2003, 00:12
brb можно просто через маки и сдвиги забабахать, хотя ты прав, из хекса наверное будет легче

Автор: Nastya 3.3.2003, 00:39
char a[255];
int i=50;
itoa(i,a,2);

Потом строку a выводи как хочешь

Автор: Nastya 3.3.2003, 00:41
Забыла.
itoa -
из библиотеки stdlib.h
а вот с флоатом и даблом такого не встречала

Автор: Alex101 3.3.2003, 01:24
Цитата(brb @ 28.2.2003, 19:29)
А хекс(шестнадцтиричка) чем не подходит? Если бинарка до слез нужна ее все равно из хекса делать.

Это ежели вручную переводить, а в программе все равно - в памяти числа в двоичном формате обычно представлены.

Автор: Step 3.3.2003, 21:20
Nastya
Цитата
char a[255];
int i=50;
itoa(i,a,2);

после твоего кода в масиве буде 5 и 0 а мне нужно 0000010100000000

Автор: Alex101 3.3.2003, 23:23
Примерно так:

for(int i=15;i>=0;i--){
str[15-i]=((a>>i)&1)&0x0FF;
a=a>>1;
}
str[16]=0;
Это для 16 битного числа

Автор: Step 4.3.2003, 20:06
все спасибо. я сделал.

Автор: Unregistered 4.3.2003, 23:02
Цитата
после твоего кода в масиве буде 5 и 0 а мне нужно 0000010100000000


Обидели!!!
#include <iostream.h>
#include <stdlib.h>

void main()
{
char a[50];
int i=50;
itoa(i,a,2);
cout<<a;
}

Лично я после этого созерцаю на экране
110010

Автор: Nastya 4.3.2003, 23:05
Последнее сообщение было мое

Автор: Alex101 4.3.2003, 23:18
Цитата(Unregistered @ 4.3.2003, 20:02)
Обидели!!!

Милая Настя! Никто и не опровергал твоего метода. Но это все хорошо, ежели надо перевести один раз, а если идет поток чисел и их надо скидывать в двоичном представлении, и если это все критично по времени, то itoa лучше не использовать.

Автор: Step 4.3.2003, 23:19
Nastya извини я никогда не обращал внимания на последний параметр итоа. Приношу свои извинения

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)