Articles of conversão

Por que é 0 <-0x80000000?

Eu tenho abaixo de um programa simples: #include #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal < INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } A condição if(bal < INT32_MIN ) é sempre verdadeira. Como isso é possível? Ele funciona bem se eu alterar a macro para: […]

Conversões inteiras (estreitamento, alargamento), comportamento indefinido

Foi muito difícil para mim encontrar informações sobre esse assunto de uma maneira que eu pudesse entender facilmente, por isso estou pedindo uma revisão do que eu descobri. Tudo gira em torno de conversão e conversão. Nos exemplos, vou me referir a: (signed/unsigned) int bigger; (signed/unsigned) char smaller; Truncar inteiros. (maior-> menor) primeiro truncar bigger […]

Qual é o significado de “operador bool () const”

Por exemplo: operator bool() const { return col != 0; } col é um int. Como o operator bool() const trabalha?

operador implícito usando interfaces

Eu tenho uma class genérica que estou tentando implementar o tipo de conversão implícita. Embora funcione principalmente, não funcionará para a transmissão de interface. Após investigação adicional, descobri que há um erro do compilador: “Conversão definida pelo usuário da interface” que se aplica. Embora eu entenda que isso deve ser imposto em alguns casos, o […]

Transmitindo um resultado para flutuar no método retornando o resultado das mudanças de flutuação

Por que esse código imprime False no .NET 4? Parece que algum comportamento inesperado está sendo causado pelo casting explícito. Eu gostaria de uma resposta além de “ponto flutuante é impreciso” ou “não faça isso”. float a(float x, float y) { return ( x * y ); } float b(float x, float y) { return […]

Converter Int em String no Swift

Eu estou tentando descobrir como converter um Int em uma String no Swift. Eu descubro uma solução, usando NSNumber mas eu adoraria descobrir como fazer tudo isso em Swift. let x : Int = 45 let xNSNumber = x as NSNumber let xString : String = xNSNumber.stringValue

Como funciona o `is_base_of`?

Como o código a seguir funciona? typedef char (&yes)[1]; typedef char (&no)[2]; template struct Host { operator B*() const; operator D*(); }; template struct is_base_of { template static yes check(D*, T); static no check(B*, int); static const bool value = sizeof(check(Host(), int())) == sizeof(yes); }; //Test sample class Base {}; class Derived : private Base […]

Regras de promoção de tipo implícito

Este post deve ser usado como um FAQ sobre a promoção de números inteiros implícitos em C, particularmente a promoção implícita causada pelas conversões aritméticas usuais e / ou as promoções inteiras. Exemplo 1) Por que isso dá um número inteiro grande e estranho e não 255? unsigned char x = 0; unsigned char y […]

String Java para conversão de data

Qual é a melhor maneira de converter uma String no formato ‘2 de janeiro de 2010’ para uma Date em Java? Por fim, quero dividir o mês, o dia e o ano como números inteiros para que eu possa usar Date date = new Date(); date.setMonth().. date.setYear().. date.setDay().. date.setlong currentTime = date.getTime(); para converter a […]