Liste des Groupes | Revenir à cl c |
Em 8/8/2024 6:41 PM, Bart escreveu:If it supports those types in hardware, then it will probably have conversion instructions.On 08/08/2024 21:34, Thiago Adams wrote:This part was always clear to me:On 08/08/2024 16:42, Keith Thompson wrote:>Thiago Adams <thiago.adams@gmail.com> writes:>On 07/08/2024 17:00, Dan Purgert wrote:[...]On 2024-08-07, Thiago Adams wrote:>>How about floating point?Floating point is a huge mess, and has a few variations for
encoding;
though I think most C implementations use the one from the IEEE on 1985
(uh, IEEE754, I think?)
I didn't specify properly , but my question was more about floating
point registers. I think in this case they have specialized registers.
Who is "they"?
>
Some CPUs have floating-point registers, some don't. C says nothing
about registers.
>
What exactly is your question? Is it not already answered by reading
the "Conversions" section of the C standard?
>
>
This part is related with the previous question about the origins of integer promotions.
>
We don't have "char" register or signed/unsigned register. But I believe we may have double and float registers. So float does not need to be converted to double.
>
There is no specif question here, just trying to understand the rationally behind the conversions rules.
The rules have little to do with concrete machines with registers.
>
Your initial post showed come confusion about how conversions work. They are not performed 'in-place', any more than writing `a + 1` changes the value of `a`.
>
Take:
>
int a; double x;
>
x = (double)a;
>
The cast is implicit here but I've written it out to make it clear. My C compiler produces intermediate code like this before converting it to native code:
>
push x r64 # r64 means float64
fix r64 -> i32
pop a i32
>
I could choose to interprete this code just as it is. Then, in this execution model, there are no registers at all, only a stack that can hold data of any type.
>
The 'fix' instruction pops the double value from the stack, converts it to int (which involves changing both the bit-pattern, and the bit-width), and pushes it back onto the stack.
>
Registers come into it when running it directly on a real machine. But you seem more concerned with safety and correctness than performance, so there's probably no real need to look at actual generated native code.
>
That'll just be confusing (especially if you follow the advice to generate only optimised code).
>
>
>
>
"They are not performed 'in-place', any more than writing `a + 1` changes the value of `a`."
Lets take double to int.
In this case the bits of double needs to be reinterpreted (copied to) int.
So the answer "how it works" can be
always/generally machine has a instruction to do this
Date | Sujet | # | Auteur | |
7 Aug 24 | how cast works? | 122 | Thiago Adams | |
7 Aug 24 | Re: how cast works? | 7 | Thiago Adams | |
7 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
12 Aug 24 | Re: how cast works? | 5 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 4 | Vir Campestris | |
12 Aug 24 | Challenge/exercise problem - signum() function | 3 | Tim Rentsch | |
12 Aug 24 | Re: Challenge/exercise problem - signum() function | 2 | Lew Pitcher | |
12 Aug 24 | Re: Challenge/exercise problem - signum() function | 1 | Tim Rentsch | |
7 Aug 24 | Re: how cast works? | 107 | Dan Purgert | |
7 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
8 Aug 24 | Re: how cast works? | 1 | Lawrence D'Oliveiro | |
8 Aug 24 | Re: how cast works? | 101 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 25 | Bart | |
8 Aug 24 | Re: how cast works? | 24 | Michael S | |
8 Aug 24 | Re: how cast works? | 1 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 22 | Bart | |
8 Aug 24 | Re: how cast works? | 5 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 1 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 2 | Bart | |
8 Aug 24 | Re: how cast works? | 1 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
8 Aug 24 | Re: how cast works? | 16 | David Brown | |
8 Aug 24 | Re: how cast works? | 15 | Bart | |
9 Aug 24 | Re: how cast works? | 13 | David Brown | |
9 Aug 24 | Re: how cast works? | 9 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 3 | Lawrence D'Oliveiro | |
9 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 1 | James Kuyper | |
9 Aug 24 | Re: how cast works? | 5 | David Brown | |
9 Aug 24 | Re: how cast works? | 4 | Keith Thompson | |
12 Aug 24 | Re: how cast works? | 3 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 2 | Keith Thompson | |
3 Sep 24 | Re: how cast works? | 1 | Tim Rentsch | |
9 Aug 24 | Re: how cast works? | 3 | Bart | |
9 Aug 24 | Re: how cast works? | 2 | David Brown | |
10 Aug 24 | Re: how cast works? | 1 | Bart | |
9 Aug 24 | Re: how cast works? | 1 | Lawrence D'Oliveiro | |
8 Aug 24 | Re: how cast works? | 75 | Keith Thompson | |
8 Aug 24 | Re: how cast works? | 74 | Thiago Adams | |
8 Aug 24 | Re: how cast works? | 72 | Bart | |
9 Aug 24 | Re: how cast works? | 47 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 38 | Bart | |
9 Aug 24 | Re: how cast works? | 2 | David Brown | |
12 Aug 24 | Re: how cast works? | 1 | Bart | |
9 Aug 24 | Re: how cast works? | 29 | James Kuyper | |
9 Aug 24 | Re: how cast works? | 14 | Bart | |
9 Aug 24 | Re: how cast works? | 3 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 2 | Bart | |
10 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 10 | James Kuyper | |
13 Aug 24 | Re: how cast works? | 1 | David Brown | |
13 Aug 24 | Re: how cast works? | 1 | Bart | |
13 Aug 24 | Re: how cast works? | 7 | James Kuyper | |
13 Aug 24 | Re: how cast works? | 6 | Bart | |
13 Aug 24 | Re: how cast works? | 5 | Keith Thompson | |
13 Aug 24 | Re: how cast works? | 4 | Bart | |
14 Aug 24 | Re: how cast works? | 3 | Tim Rentsch | |
14 Aug 24 | Re: how cast works? | 2 | Bart | |
18 Aug 24 | Re: how cast works? | 1 | Tim Rentsch | |
9 Aug 24 | Re: how cast works? | 2 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 1 | James Kuyper | |
9 Aug 24 | Re: how cast works? | 12 | Kaz Kylheku | |
9 Aug 24 | Re: how cast works? | 9 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 8 | Kaz Kylheku | |
10 Aug 24 | Re: how cast works? | 6 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 3 | Kaz Kylheku | |
10 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
10 Aug 24 | Re: how cast works? | 1 | James Kuyper | |
10 Aug 24 | Re: how cast works? | 2 | Bart | |
13 Aug 24 | Re: how cast works? | 1 | David Brown | |
12 Aug 24 | Re: how cast works? | 1 | Tim Rentsch | |
10 Aug 24 | Re: how cast works? | 1 | James Kuyper | |
12 Aug 24 | Re: how cast works? | 1 | Tim Rentsch | |
9 Aug 24 | Re: how cast works? | 4 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 3 | Bart | |
9 Aug 24 | Re: how cast works? | 2 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 1 | Bart | |
12 Aug 24 | Re: how cast works? | 2 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 1 | Bart | |
12 Aug 24 | Re: how cast works? | 8 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 7 | Bart | |
12 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
12 Aug 24 | Re: how cast works? | 5 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 4 | Keith Thompson | |
12 Aug 24 | Re: how cast works? | 3 | Ben Bacarisse | |
12 Aug 24 | Re: how cast works? | 2 | Tim Rentsch | |
12 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 24 | Thiago Adams | |
9 Aug 24 | Re: how cast works? | 2 | Bart | |
9 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 19 | David Brown | |
9 Aug 24 | Re: how cast works? | 18 | Thiago Adams | |
9 Aug 24 | Re: how cast works? | 3 | Thiago Adams | |
9 Aug 24 | Re: how cast works? | 1 | David Brown | |
9 Aug 24 | Re: how cast works? | 1 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 11 | David Brown | |
10 Aug 24 | Re: how cast works? | 10 | Bart | |
10 Aug 24 | Re: how cast works? | 9 | Thiago Adams | |
10 Aug 24 | Re: how cast works? | 8 | Bart | |
11 Aug 24 | Re: how cast works? | 7 | Thiago Adams | |
11 Aug 24 | Re: how cast works? | 6 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 3 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 2 | Keith Thompson | |
9 Aug 24 | Re: how cast works? | 1 | David Brown | |
8 Aug 24 | Re: how cast works? | 3 | Stefan Ram | |
7 Aug 24 | Re: how cast works? | 6 | Keith Thompson | |
8 Aug 24 | Re: how cast works? | 1 | Lawrence D'Oliveiro |
Les messages affichés proviennent d'usenet.