Go Back   Armenian Knowledge Base > Technical sections > Languages, Compilers, Interpreters > C/C++

Reply
 
Thread Tools

__int64 question
Old 30.10.2004, 16:18   #1
4294967296
 
Boyov's Avatar
 
Join Date: 03 2002
Location: /proc/1
Age: 40
Posts: 379
Rep Power: 0
Default __int64 question

Vozmojno li ne peregrujaya "<<" delat' 'cout' peremennuyu kotoraya imeet tip __int64

PHP Code:
main()
{
__int64 a;
cout << a;

__________________
Free your mind and your OS will follow

Old 30.10.2004, 16:31   #2
Ego coder
 
AvDav's Avatar
 
Join Date: 07 2004
Location: Yerevan, Armenia
Age: 44
Posts: 3,738
Rep Power: 5
Default

a chto ne kompilitsya? u menya pod vcpp 7.1 idet.
Code:
#include <iostream>
int main()
{
	__int64 a=0x7fffffffffffffff;
	std::cout << a;
	system("pause");
}
__________________
Каждый сам кузнец своего счастья, и несчастья тоже.

Last edited by AvDav; 30.10.2004 at 17:03.

Old 31.10.2004, 06:15   #3
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 43
Posts: 21,717
Rep Power: 9
Default

Quote:
Originally Posted by Boyov
Vozmojno li ne peregrujaya "<<" delat' 'cout' peremennuyu kotoraya imeet tip __int64

PHP Code:
main()
{
__int64 a;
cout << a;

1. у main обязательно должен быть возвращаемый тип и он int. Другого по стандарту не дано.
2. Не видно, откуда include - нут cout. Из iostream - a? тогда где std:: или using std::cout?
3. не видно, что за компилятор. я должен из воздуха высасывать эти данные?
4. Учись задавать вопросы. Предлагаю попробовать на EFnet серверах канал #C++ тебя быстро научат всему, что надо (если конечно не забанят за 5 минут).
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!

Old 01.11.2004, 13:22   #4
4294967296
 
Boyov's Avatar
 
Join Date: 03 2002
Location: /proc/1
Age: 40
Posts: 379
Rep Power: 0
Default

Quote:
Originally Posted by Agregat
1. у main обязательно должен быть возвращаемый тип и он int. Другого по стандарту не дано.
soglasis', chto suti dela eto ne menyaet

Quote:
Originally Posted by Agregat
3. не видно, что за компилятор. я должен из воздуха высасывать эти данные?
Tot, kotiriy postavlyaetsya s Visual Studio 6.

Quote:
Originally Posted by Agregat
4. Учись задавать вопросы. Предлагаю попробовать на EFnet серверах канал #C++ тебя быстро научат всему, что надо (если конечно не забанят за 5 минут).
a oni tam vse takie AGResivnie ?

Code:
#include <iostream.h>

int main()
{
    __int64 a = 0xfff;
    cout << a; 

  return 0;
}
__________________
Free your mind and your OS will follow

Old 01.11.2004, 13:26   #5
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 43
Posts: 21,717
Rep Power: 9
Default

1. меняет
2. уже ближе к сути дела
3. напиши, как Давид, если не выйдет снова поговорим.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!

Old 01.11.2004, 13:32   #6
4294967296
 
Boyov's Avatar
 
Join Date: 03 2002
Location: /proc/1
Age: 40
Posts: 379
Rep Power: 0
Default

Quote:
Originally Posted by Agregat
1. меняет
2. уже ближе к сути дела
3. напиши, как Давид, если не выйдет снова поговорим.
napisal, ne vishlo.
__________________
Free your mind and your OS will follow

Old 01.11.2004, 13:37   #7
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 43
Posts: 21,717
Rep Power: 9
Default

значти не судьба. __инт64 не поддерживается потоками в 6 ВС. Видишь, как все просто. Я могу сказать, что 8 компилирует.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!

Old 01.11.2004, 13:54   #8
VIP Faraon
 
RAMZES's Avatar
 
Join Date: 09 2002
Location: Пески сахары
Age: 43
Posts: 2,895
Rep Power: 0
Default

Попробуй поставить последний Мокрософт СДК, у него есть компилятор для 64 бит
__________________
Храни тебя Господь в сухом и прохладном месте...

Old 01.11.2004, 14:04   #9
VIP Faraon
 
RAMZES's Avatar
 
Join Date: 09 2002
Location: Пески сахары
Age: 43
Posts: 2,895
Rep Power: 0
Default

Хотя если у тебя нет 64 битного виндовса, то и СДК тебе незачем
можешь сделать cout по часттям, типа

int i = int_64_variable >> 32;
cout << i;
i = int_64_variable;
cout << i <<endl;
__________________
Храни тебя Господь в сухом и прохладном месте...

Old 01.11.2004, 14:16   #10
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 43
Posts: 21,717
Rep Power: 9
Default

Quote:
Originally Posted by RAMZES
Хотя если у тебя нет 64 битного виндовса, то и СДК тебе незачем
можешь сделать cout по часттям, типа

int i = int_64_variable >> 32;
cout << i;
i = int_64_variable;
cout << i <<endl;
позор.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!

Old 01.11.2004, 14:39   #11
Ego coder
 
AvDav's Avatar
 
Join Date: 07 2004
Location: Yerevan, Armenia
Age: 44
Posts: 3,738
Rep Power: 5
Default

semuliroval taki)
Code:
std::ostream& operator<<(std::ostream &out, __int64 num)
{
	static const char *pdigits="0123456789";
	std::string str;
	if(num<0)
	{
		out << '-';
		num=-num;
	}
	do
		str+=pdigits[num%10];
	while(num/=10);
	std::copy(str.rbegin(), str.rend(), std::ostream_iterator<char>(out, "")); 
	return out;
}
__________________
Каждый сам кузнец своего счастья, и несчастья тоже.

Last edited by AvDav; 01.11.2004 at 15:13. Reason: ubral lishnee..

Old 01.11.2004, 15:01   #12
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 43
Posts: 21,717
Rep Power: 9
Default

дав,
PHP Code:
std::copy(str.rbegin(), str.rend(), std::ostream_iterator<char>(os"")); 
кроме того я бы советовал ресайзать строчку в начале символов этак на 15, чтоб времени на реаллок не терять вообще.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!

Old 01.11.2004, 15:02   #13
VIP Faraon
 
RAMZES's Avatar
 
Join Date: 09 2002
Location: Пески сахары
Age: 43
Posts: 2,895
Rep Power: 0
Default

да, забыл сказать - работает только в том случае, если делать output в hex...
типа


__int64 int_64_variable = 1234567898765;
int i = int_64_variable >> 32;
printf("%x", i);
i = int_64_variable;
printf("%x\n", i);
__________________
Храни тебя Господь в сухом и прохладном месте...

Old 01.11.2004, 15:08   #14
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 43
Posts: 21,717
Rep Power: 9
Default

Quote:
Originally Posted by RAMZES
да, забыл сказать - работает только в том случае, если делать output в hex...
типа


__int64 int_64_variable = 1234567898765;
int i = int_64_variable >> 32;
printf("%d", i);
i = int_64_variable;
printf("%d\n", i);
Ну это вооще позор.
1. не cout
2. печаешь не hex, а десятично... то есть ес кодн ел хеч
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!

Old 01.11.2004, 15:13   #15
VIP Faraon
 
RAMZES's Avatar
 
Join Date: 09 2002
Location: Пески сахары
Age: 43
Posts: 2,895
Rep Power: 0
Default

Ну вот, Давид написал умную вещь
__________________
Храни тебя Господь в сухом и прохладном месте...
Reply




Реклама:
реклама
Buy text link .

All times are GMT. The time now is 06:04.
Top

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.