| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
neg1414 Master

Registrado: 31 Ene 2007Mensajes: 284
|
Publicado: Lun 01 Ene, 2018 5:44 pm Asunto: Problema con Valor Variables (Tamaño??) |
|
|
Buenas..
En primer Lugar feliz Año a Todos...
Estoy adaptando un codigo de c# a c++ y me a surgido un problema con el valor de una variable al ejecutar una funcion.
la funcion es la siguiente
| Código: |
for(int x=0;x<12;x++)
{
long long int num = 7L << (int)(3 * x);
}
|
La variable que me da problemas es num
sus valorese deberian ser sucesivamente
7
56
448
3584
28672
229376
1835008
14680064
117440512
939524096
hasta aqui bien pero el siguiente en vez de
7516192768
da -1073741824
En el codigo en c# original el tipo de variable num3 es long (64bites) yo lo he adaptado a long long e incluso a long long int pero sigue igual
Alguna Idea Gracias... |
|
| Volver arriba |
|
 |
neg1414 Master

Registrado: 31 Ene 2007Mensajes: 284
|
Publicado: Mar 02 Ene, 2018 4:00 pm Asunto: |
|
|
Buenas..
Puede ser un problema de como c++ builder trabaja con los datos (problema de compilacion)
Si es asi, ¿hay alguna solucion..?
Gracias |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 02 Ene, 2018 4:20 pm Asunto: |
|
|
Prueba con:
long long int num = 7LL << 3 * x;
o bien:
__int64 num = 7i64 << 3 * x; |
|
| Volver arriba |
|
 |
neg1414 Master

Registrado: 31 Ene 2007Mensajes: 284
|
Publicado: Mar 02 Ene, 2018 4:50 pm Asunto: |
|
|
Como siempre perfecto
Gracias Un Saludo. |
|
| Volver arriba |
|
 |
|